/***********************************************************************************
 * 文件名： cled_ctrl_config.h
 * 版本�?2
 * 说明�?
 * 		彩色LED控制�?CLEDC)的配置文件。请确保文件名如上�?bits（最大�?55）亮度控�?
 * 修改记录�?
 * 	2021/04/21: 初版�?刘言�?
 *  2021/04/21: 增加彩色渐变功能开关。刘言�?
***********************************************************************************/
#ifndef _CLED_CTRL_CONFIG_H_
#define _CLED_CTRL_CONFIG_H_

#include "bsp-app_config.h"

// 启动 8BIT MCU 优化，注释掉关闭【未实现�?
//#define _CLEDC_8BIT_MCU

// 启用 彩色渐变，注释掉不启用可以节省代码量
#define _CLEDC_USE_GRA_COLOR

// 设置一些需要引用的外部函数(驱动和组件接口不用再包含头文�?

// 设置RGB的PWM�?
#define _CledC_SetValue(r, g, b)  \
    {                             \
        SPwm_SetValue(0, r >> 1); \
        SPwm_SetValue(1, g >> 1); \
        SPwm_SetValue(2, b >> 1); \
    }

// 亮度改变的钩子函数，每当更新亮度时会被调用，可用于增加同步单色灯，可以定义为�?
// 不需要单色灯定义为空
#define _CledC_SetBrightnessHook(u8_btns) SPwm_SetValue(3,u8_btns>>1)//Tim1_SetCH0Value(255-(u8_btns))
    
// CLEDC空闲事件。CLEDC动作为NULL（CLEDC空闲）时调用一次，可以定义为空
#define _CLEDC_EventActNull() SPwm_Disable() // 关闭 SPWM 可以降低CPU占用率，不关闭会影响通信�?

// CLEDC开始动作事件。CLEDC动作被设置时调用一次，可以加一些动作前的额外准备工作，可以定义为空
#define _CLEDC_EventActSetted() SPwm_Enable()

#endif
